Attempt to handle new forerunner track types.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 14 Sep 2004 14:42:08 +0000 (14:42 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 14 Sep 2004 14:42:08 +0000 (14:42 +0000)
gpsbabel/jeeps/gpsapp.c
gpsbabel/jeeps/gpsprot.h

index 8fcd7df7808a2cd5dcd9bccdef326dfb7821dfac..4108c24a777562105046cb4b0623ad7ef5cc835b 100644 (file)
@@ -337,12 +337,19 @@ static void GPS_A001(GPS_PPacket packet)
            }
            else if(data<400)
            {
-               if(data==300)
-                   gps_trk_transfer = pA300;
-               else if(data==301)
-                   gps_trk_transfer = pA301;
-               else
-                   GPS_Protocol_Error(tag,data);
+                   switch (data) {
+                   case 300: 
+                           gps_trk_transfer = pA300;
+                           break;
+                   case 301:
+                           gps_trk_transfer = pA301;
+                           break;
+                   case 302:
+                           gps_trk_transfer = pA302;
+                           break;
+                   default:
+                           GPS_Protocol_Error(tag,data);
+                   }
                continue;
            }
            else if(data<500)
@@ -472,15 +479,13 @@ static void GPS_A001(GPS_PPacket packet)
                
            else if(lasta<400)
            {
-               if(data==300)
-                   gps_trk_type = pD300;
-               else if(data==301)
-                   gps_trk_type = pD301;
-               else if(data==310)
-                   gps_trk_hdr_type = pD310;
-               else
-                   GPS_Protocol_Error(tag,data);
-               continue;
+                   switch (data) {
+                           case 300: gps_trk_type = pD300; break;
+                           case 301: gps_trk_type = pD301; break;
+                           case 302: gps_trk_type = pD302; break;
+                           default:  GPS_Protocol_Error(tag,data); break;
+                   }
+                   continue;
            }
 
 
@@ -3302,6 +3307,7 @@ int32 GPS_A301_Get(const char *port, GPS_PTrack **trk)
            GPS_D300b_Get(&((*trk)[i]),rec->data);
            break;
        case pD301:
+       case pD302:
            GPS_D301b_Get(&((*trk)[i]),rec->data);
            break;
        default:
@@ -3509,6 +3515,7 @@ int32 GPS_A301_Send(const char *port, GPS_PTrack *trk, int32 n)
                len = 13;
                break;
            case pD301:
+           case pD302:
                GPS_D301_Send(data,trk[i]);
                len = 21;
                break;
index ff8adf95c19c04e3ced683f8d0e6fd797e915495..b0d430b54504f264995320fb52fec2466fe8c8fb 100644 (file)
@@ -88,6 +88,7 @@ int32 gps_route_transfer;
  */
 #define pA300 300
 #define pA301 301
+#define pA302 302
 int32 gps_trk_transfer;
 
 /*
@@ -171,6 +172,7 @@ int32 gps_rte_link_type;
  */
 #define pD300 300
 #define pD301 301
+#define pD302 302
 int32 gps_trk_type;